package com.battle.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.battle.pojo.param.trainingAchievement.*;
import com.battle.pojo.vo.trainingAchievement.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;


/**
 * 【描 述】：培训成绩服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface TrainingAchievementService {

    /**
     * 创建培训成绩
     *
     * @param param
     */
    void createTrainingAchievement(CreateTrainingAchievementParam param);

    /**
     * 修改培训成绩
     * @param param
     */
    void  editTrainingAchievement(EditTrainingAchievementParam param);

    /**
     * 移除培训成绩
     *
     * @param id
     */
    void removeTrainingAchievement(Long id);

    /**
     * 启动/禁用培训成绩
     *
     * @param id
     */
    void enabledTrainingAchievement(Long id);

    /**
     * 获取培训成绩详情
     *
     * @param id
     * @return
     */
    GetTrainingAchievementVo getTrainingAchievement(Long id);

    /**
     * 获取培训成绩列表
     *
     * @param param
     * @return
     */
    PageResult<GetTrainingAchievementListVo> getTrainingAchievementList(GetTrainingAchievementListParam param);


    /**
     * 获取培训成绩下拉列表
     *
     * @param param
     * @return
     */
    List<GetTrainingAchievementDownListVo> getTrainingAchievementDownList(GetTrainingAchievementDownListParam param);

    /**
     * 导入
     * @param param
     */
    void importTrainingAchievement(ImportTrainingAchievementParam param) throws IOException;
}